home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / fossc004.zip / TERM.BAS < prev    next >
BASIC Source File  |  1988-12-01  |  3KB  |  80 lines

  1. 1000 ' -----------------------------------------------------
  2. 1010 ' This is a demonstration program for use with FossComm
  3. 1020 ' -----------------------------------------------------
  4. 1030 ' set parameters for COM1
  5. 1040 ' -----------------------
  6. 1050 FOX$ = "The quick brown fox jumps over the lazy dog"+CHR$(10)+CHR$(13)
  7. 1060 COMPORT%      = 0
  8. 1070 COMSPEED%      = 2400
  9. 1071 COMPARITY%   = 0
  10. 1072 COMDATABITS% = 3
  11. 1073 COMSTOPBITS% = 0
  12. 1080 DTRSTATE%      = 1
  13. 1090 LOCATE 1,1,1
  14. 1100 ' ---------------------
  15. 1110 ' initialize the driver
  16. 1120 ' ---------------------
  17. 1130 CALL FOSINIT(COMPORT%,RESULT%)
  18. 1140 IF RESULT% = -1 THEN PRINT "Error initializing FOSSIL driver":END
  19. 1150 ' -------------
  20. 1160 ' set the speed
  21. 1170 ' -------------
  22. 1180 CALL FOSSPEED(COMPORT%, COMSPEED%, COMPARITY%, COMDATABITS%, COMSTOPBITS%)
  23. 1190 ' ---------------------
  24. 1200 ' this is the main loop
  25. 1210 ' ---------------------
  26. 1220 CLS
  27. 1230 MORE% = 1
  28. 1240 WHILE MORE%
  29. 1250     IN$ = INKEY$
  30. 1260     ' --------------------
  31. 1270     ' check extended chars
  32. 1280     ' --------------------
  33. 1290     IF LEN(IN$) > 1 THEN GOSUB 1500
  34. 1300     IF IN$ <> "" THEN CHAR% = ASC(IN$):CALL FOSTXCHAR(COMPORT%,CHAR%,RESULT%)
  35. 1310     ' --------------
  36. 1320     ' check commport
  37. 1330     ' --------------
  38. 1340     CALL FOSREADAHEAD(COMPORT%,CHAR%)
  39. 1350     IF CHAR% <> -1 THEN CALL FOSRXCHAR(COMPORT%,CHAR%):GOSUB 1420
  40. 1360 WEND
  41. 1370 ' ----------------------------------
  42. 1380 ' deinitialize the driver and finish
  43. 1390 ' ----------------------------------
  44. 1400 CALL FOSEXIT(COMPORT%)
  45. 1410 END
  46. 1420 ' -------------------------------
  47. 1430 ' subroutine to display character
  48. 1440 ' -------------------------------
  49. 1450 IF CHAR% = 8  THEN IF POS(0) > 1 THEN LOCATE CSRLIN,POS(0)-1:RETURN:ELSE RETURN
  50. 1460 IF CHAR% = 13 THEN LOCATE CSRLIN,1 : RETURN
  51. 1470 IF CHAR% = 10 THEN IF CSRLIN < 24 THEN LOCATE CSRLIN+1,POS(0):RETURN:ELSE:PRINT "":RETURN
  52. 1480 PRINT CHR$(CHAR%);
  53. 1490 RETURN
  54. 1500 ' ----------------------------------
  55. 1510 ' subroutine to handle extended keys
  56. 1520 ' ----------------------------------
  57. 1530 CHAR% = ASC(MID$(IN$,2,1))
  58. 1540 IN$ = ""
  59. 1550 ' ---------------
  60. 1560 ' ALT-H drops DTR
  61. 1570 ' ---------------
  62. 1580 IF CHAR% = 35 THEN DTRSTATE% = 0:CALL FOSDTR(COMPORT%,DTRSTATE%):RETURN
  63. 1590 ' ----------------
  64. 1600 ' ALT-S raises DTR
  65. 1610 ' ----------------
  66. 1620 IF CHAR% = 31 THEN DTRSTATE% = 1:CALL FOSDTR(COMPORT%,DTRSTATE%):RETURN
  67. 1630 ' ----------------------------------
  68. 1640 ' F1 transmits 'the quick brown fox'
  69. 1650 ' ----------------------------------
  70. 1660 IF CHAR% = 59 THEN BYTES% = LEN(FOX$):CALL FOSWRITE(COMPORT%,BYTES%,FOX$):RETURN
  71. 1670 ' -----------
  72. 1680 ' ALT-X quits
  73. 1690 ' -----------
  74. 1700 IF CHAR% = 45 THEN GOTO 1400
  75. 1710 ' -----------------
  76. 1720 ' Ignore other keys
  77. 1730 ' -----------------
  78. 1740 RETURN
  79. 
  80.